/**
 * 
 */
package com.ms.service.module.zone.db;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.ms.game.common.OSType;
import com.xpec.c4.db.model.basic.BasicGameModel;

/**
 * 各遊戲相關設定
 * 
 * @author TW15010
 */
@Entity
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)
@Table(name = "game_list")
public class GameHallConfigModel extends BasicGameModel implements Serializable {
	
	public static final int ICON_COMING_SOON = 0;
	
	public static final int ICON_FIXED = 1;
	
	public static final int ICON_GAME = 2;
	
	
	public static final int TIP_EMPTY = 0;
	
	public static final int TIP_NEW = 1;
	
	public static final int TIP_HOT = 2;
	
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -1975194829529278816L;

	/**
	 * 遊戲類型
	 * 
	 * @see com.ms.game.common.GameType
	 */
	private String gameType;

	/** 允許進入的 ip 列表，用 ; 來分隔 */
	private String allowIpList;

	/** 是否開啟、隱藏 */
	private boolean open;
	
	/**
	 * 伺服器狀態(0:Coming Soon!、1:維護中、2:遊戲圖)
	 */
	private int icon;
	
	/**
	 * tip 圖示(0:無  1:NEW 2:HOT)
	 */
	private int tip;
	
	/** 預計開放時間 */
	private Date openTime;
	
	/**作業系統類別*/
	private OSType osType;
	
	/**順序*/
	private int orderNum;
	
	public int getIcon() {
		return icon;
	}

	public void setIcon(int icon) {
		this.icon = icon;
	}

	public int getTip() {
		return tip;
	}

	public void setTip(int tip) {
		this.tip = tip;
	}
	
	public String getGameType() {
		return gameType;
	}

	public void setGameType(String gameType) {
		this.gameType = gameType;
	}

	public String getAllowIpList() {
		return allowIpList;
	}

	public void setAllowIpList(String allowIpList) {
		this.allowIpList = allowIpList;
	}

	public boolean isOpen() {
		return open;
	}

	public void setOpen(boolean open) {
		this.open = open;
	}

	@Temporal(TemporalType.TIMESTAMP)
	public Date getOpenTime() {
		return openTime;
	}

	public void setOpenTime(Date openTime) {
		this.openTime = openTime;
	}

	@Enumerated(EnumType.STRING)
	public OSType getOsType() {
		return osType;
	}

	public void setOsType(OSType osType) {
		this.osType = osType;
	}

	public int getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(int orderNum) {
		this.orderNum = orderNum;
	}
	
}
